package service

import (
	"errors"
	"fmt"
	models "image-sever-grpc/image-web-server/dao"
	"image-sever-grpc/image-web-server/dao/model"
)

// UserService 用户服务
type UserService struct{}

// LoginByWps 金山登录后创建或更新用户-不需要JWT
func (s *UserService) LoginByWps(wpsUID, username string) (*model.User, error) {
	if wpsUID == "" {
		return nil, errors.New("wps_uid不能为空")
	}

	// 查询或创建用户（通过金山UID）
	user, err := models.FindOrCreateByWpsUID(wpsUID, username)
	if err != nil {
		return nil, fmt.Errorf("用户信息处理失败: %w", err)
	}
	return user, nil
}

// GetUserInfo 获取用户信息
func (s *UserService) GetUserInfo(userID int64) (*model.User, error) {
	user, err := models.GetUserByID(userID)
	if err != nil {
		return nil, fmt.Errorf("获取用户信息失败: %w", err)
	}
	return user, nil
}
